/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ceair.flight.refund.dto.audit;


import java.math.BigDecimal;
import java.util.List;

/**
 *
 * @author youguilin
 */
public class FirstAuditReq extends BaseAuditReq {

    private static final long serialVersionUID = -6415169211929356045L;

    /**
     * 申请单应退金额(含税)(含票面差,改期税差)
     */
    private BigDecimal applyAmt;

    private BigDecimal refundResGap;//退还的改期差额
    
    private BigDecimal rescheduleFeeRes;//实际的改期退票手续费
    /**
     * 剩余票面价(在部分使用时使用,国际航线票适应 或者 在含有促销码的订单)
     */
    private BigDecimal leftTktPrice;

    /**
     * 退票总税(不含改期税差)
     */
    private BigDecimal refundTaxAmt;

    /**
     * 退票手续费(国际航线票适应)(不含改期票费)
     */
    private BigDecimal refundFee;

    /**
     * 票面应退金额(不含税,国际航线票适应)(不含改期票面差)
     */
    private BigDecimal refundAmount;
//    /**
//     * 票面应退积分(国际航线票适应)
//     */
    private Long refundPoints;
    /**
     * 实际设定的退票百分比或者定额(国际航线票适应)
     */
    private String realRefundRule;
    /**
     * 航段list
     */
//    @Valid
//    @NotNull
//    @Size(min = 1)
    private List<SegReq> segReqs;

    /**
     * 税费list
     */
//    @Valid
//    @NotNull
//    @Size(min = 1)
    private List<TaxReq> taxReqs;

    public BigDecimal getRefundResGap() {
        return refundResGap;
    }

    public void setRefundResGap(BigDecimal refundResGap) {
        this.refundResGap = refundResGap;
    }

    public BigDecimal getLeftTktPrice() {
        return leftTktPrice;
    }

    public void setLeftTktPrice(BigDecimal leftTktPrice) {
        this.leftTktPrice = leftTktPrice;
    }

    public BigDecimal getRefundTaxAmt() {
        return refundTaxAmt;
    }

    public void setRefundTaxAmt(BigDecimal refundTaxAmt) {
        this.refundTaxAmt = refundTaxAmt;
    }

    public String getRealRefundRule() {
        return realRefundRule;
    }

    public void setRealRefundRule(String realRefundRule) {
        this.realRefundRule = realRefundRule;
    }

    public BigDecimal getApplyAmt() {
        return applyAmt;
    }

    public void setApplyAmt(BigDecimal applyAmt) {
        this.applyAmt = applyAmt;
    }

    public BigDecimal getRefundFee() {
        return refundFee;
    }

    public void setRefundFee(BigDecimal refundFee) {
        this.refundFee = refundFee;
    }

    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    public Long getRefundPoints() {
        return refundPoints;
    }

    public void setRefundPoints(Long refundPoints) {
        this.refundPoints = refundPoints;
    }

    public List<SegReq> getSegReqs() {
        return segReqs;
    }

    public void setSegReqs(List<SegReq> segReqs) {
        this.segReqs = segReqs;
    }

    public List<TaxReq> getTaxReqs() {
        return taxReqs;
    }

    public void setTaxReqs(List<TaxReq> taxReqs) {
        this.taxReqs = taxReqs;
    }
    

    public BigDecimal getRescheduleFeeRes() {
		return rescheduleFeeRes;
	}

	public void setRescheduleFeeRes(BigDecimal rescheduleFeeRes) {
		this.rescheduleFeeRes = rescheduleFeeRes;
	}

	@Override
    public String toString() {
        return "FirstAuditReq{" + "applyAmt=" + applyAmt + ", refundTaxAmt=" + refundTaxAmt + ", refundFee=" + refundFee+ ", rescheduleFeeRes=" + rescheduleFeeRes + ", refundAmount=" + refundAmount + ", refundPoints=" + refundPoints + ", realRefundRule=" + realRefundRule + ", segReqs=" + segReqs + ", taxReqs=" + taxReqs + '}';
    }

}
